package com.java1228;

/**
 * 22、类通过implements关键字实现接口(interface)
 * 结构：完全设计(10个方法）
 * 抽象类：部分实现(5个实现，5个抽象方法）
 * 具体类：完全实现（10个都实现）
 * 23、具体类和抽象类对比：都是class类
 *    抽象类和接口对比:
 *       具体类                       抽象类                  接口
 *       class                     abstract class        interface
 * 成员变量      都可以                     都可以         public static final
 * 成员方法      都是实现方法              部分实现方法        public abstract  都是抽象方法
 * 构造         有                      有                 无
 * 创建对象     能                      不能                不能
 * 创建意图     实现                     设计(继承)            设计
 * 24、封装：java是一个面向对象的语言,面向对象语言有三大特征。封装，继承，多态
 * 封装：类把相关变量和方法封装到类的内部
 * 25、继承：子类通过extends继承父类所有成员，如果没有父类，系统会默认继承object顶级父类
 * 26、多态(重载):多种形态
 * 类内部多态、又叫做重载：在一个类中有多个方法。这些方法的方法名一样，但是参数不一样。
 * 例如：构造方法
 * 27、多态（重写）：例如toString
 * 28、方法分类总结
 * 按照是否有返回结果
 * 按静态
 * 按是否实现
 * 29、创建对象
 * 类名 变量  = new 类构造方法
 * 父类 变量 = new 子类构造
 * 接口 变量 = new 实现类构造方法;
 * 30、静态--非静态--构造器
 */
public interface S {
    void d();
    void r();
}
//class T implements S{
//    public void d(){
//
//    }
//    public void r(){
//
//    }
//}
//复杂就用三层，接口用于设计
abstract class T implements S{
    public void d(){

    }
    public abstract void r();
}
class U extends T{
    public void r(){

    }
}
